package net.lahuobao.finance.dao;

import net.lahuobao.finance.entity.reccode.RecCode_User;
import net.lahuobao.finance.entity.reccode.ReccodeEntity;
import net.lahuobao.finance.entity.reccode.UserRecCodeEntity;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * Created by Administrator on 2016/8/25.
 */
@Repository("recCodeUserDao")
public interface RecCode_UserDaoMapper {


    /***
     * 根据用户名查询用户信息
     * @param userName
     * @return
     */
    public RecCode_User serachUserInfo(String userName);


    /***
     * 根据会员编号统计会员在推荐码表中的个数信息
     * @param userId
     * @return
     */
    public int serachRecCodeCountByUserId(long userId);


    /***
     * 根据会员的名称和会员编号在会员表中统计会员的个数
     * @param params
     * @return
     */
    public int serachUserCountByUserIdAndMemberName(Map<String, Object> params);


    /***
     * 根据会员编号获取会员信息
     * @param userId
     * @return
     */
    public RecCode_User memberName(long userId);


    /***
     * 根据查询条件统计数量
     * @param params
     * @return
     */
    public int serachRecCodesCount(Map<String, Object> params);


    /***
     * 根据查询条件查询集合
     *
     * @param params
     * @return
     */
    public List<ReccodeEntity> serachRecCodes(Map<String, Object> params);


    /***
     * 根据用户ID查询用户
     * @param userId
     * @return
     */
    public RecCode_User serachUserInfoById(String userId);


    /***
     * 获取最大的推荐码
     * @return
     */
    public String getMaxRecCode();

    /***
     * 获取部门下面的人员列表
     * @param params
     * @return
     */
    public List<UserRecCodeEntity> users(Map<String, Object> params);


    /***
     * 统计部门下面的人员数量
     * @return
     */
    public int usersCount(Map<String, Object> params);


    /**
     * 根据用户ID获取推荐码详细信息
     * @return
     */
    public ReccodeEntity getByUserId(String id);



    /***
     * 获取所有的人员列表
     * @param params
     * @return
     */
    public List<UserRecCodeEntity> usersAll(Map<String, Object> params);


    /***
     * 统计所有的人员数量
     * @return
     */
    public int usersAllCount(Map<String, Object> params);


    /***
     * 获取外部用户的推荐码信息
     * @param userId
     * @return
     */
    public ReccodeEntity getBylahuobaoUserId(String userId);
}

